package mt.dummy;

import java.io.Serializable;
import mt.Order;
import mt.comm.ClientSideMessage;
/**
 * ClientMessage are the messages sent from clients to the server.
 * @author Pedro, Rita,Miguel
 *
 */


public class ClientMessage implements ClientSideMessage, Serializable{


	private static final long serialVersionUID = -6373834124437957519L;

	/**
	 * The type of the Message. It may be: ORDER, ERROR  */


	private final Type type;

	/**
	 * The error of the message (it is a sentence with the error).
	 */

	private String error;

	/**
	 * The order of the message.
	 */

	private Order order;

	/**
	 * Constructor. Constructs a message contains a type (enum), and, if the type is ERROR, an error message (a String).
	 * @param type
	 * @param error
	 */

	public ClientMessage(Type type, String error){
		this.type = type;
		this.error = error;
	}

	/**
	 * Constructor. Constructs a message contains a type (enum), and, if the type is ORDER, an {@link mt.Order}
	 * @param type
	 * @param order
	 */
	public ClientMessage(Type type, Order order){
		this.type = type;
		this.order = order;
	}

	@Override
	public Type getType() {
		return type;
	}

	@Override
	public Order getOrder() {
		return order;
	}

	@Override
	public String getError() {
		return error;
	}
}
